package src.Aula05.Ex02;

import java.util.ArrayList;

public class Utilizador{

    //variaveis

    private String nome;
    private int nMec;
    private String curso;
    ArrayList<Integer> livrosRequisitados = new ArrayList<>();

    public Utilizador(String nome, int nMec ,String curso) { 
            this.nome=nome;
            this.nMec=nMec;
            this.curso=curso;
    }

//get
    public String getNome() { return nome; }
    public int getnMec() { return nMec; }
    public String getcurso() { return curso; }
    public ArrayList<Integer> getLivrosRequisitados() {return livrosRequisitados;}
        


//set
    public void nome(String novoNome){
        this.nome= novoNome;
    }
    public void setnMec(int novonMec){
        this.nMec= novonMec;
    }
    public void setCurso(String novoCurso){
        this.curso= novoCurso;
    }
    public void setLivrosRequisitados(ArrayList<Integer> arrayDeLivros) {
        this.livrosRequisitados = arrayDeLivros;
    }

//toString
    public String toString(){
            String livrosRequisitadosString = "";
            for (int idLivroRequisitado : livrosRequisitados) {
                livrosRequisitadosString += String.valueOf(idLivroRequisitado); 
                if (idLivroRequisitado != livrosRequisitados.get(livrosRequisitados.size() - 1)) 
                    livrosRequisitadosString += ", ";
            }

            return String.format("Utilizador %d; %s; %s; Id's dos livros requesitados pelo utilizador: %s", nMec, nome,curso, livrosRequisitadosString);
        }

    public void adicionarIdLivroRequisitado(int idLivro) {
        if (!this.livrosRequisitados.contains(idLivro))
            this.livrosRequisitados.add(idLivro);
    }
    
    public void removerIdLivroRequisitado(int idLivro) {
        if (this.livrosRequisitados.contains(idLivro)) {
            livrosRequisitados.remove(livrosRequisitados.indexOf(idLivro));
        } else
            System.out.println("O utilizador " + this.nMec + " não requisitou o livro " + idLivro);
    
    }   
}